package com.daedalus.klasaObjekte.Drejtkendesh;/*
 * Created with IntelliJ IDEA.
 * Author: Kostika Gorica
 * Date: 12-12-03
 * Time: 3.52.MD
 */

public class Drejtkendesh {
    private int x;
    private int y;
    private int gjer;
    private int gjat;

    public Drejtkendesh( int x, int y, int gjer,int gjat) {
        this.setGjat(gjat);
        this.setX(x);
        this.setY(y);
        this.setGjer(gjer);
    }

    public Drejtkendesh(Point p, int gjer, int gjat){
        this(p.getX(),p.getY(),gjer,gjat);
    }

    public Drejtkendesh(){
        this(0,0,0,0);
    }


    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public int getGjer() {
        return gjer;
    }

    public void setGjer(int gjer) {
        this.gjer = gjer;
    }

    public int getGjat() {
        return gjat;
    }

    public void setGjat(int gjat) {
        this.gjat = gjat;
    }

    public boolean ekzistonPika(int x, int y){
        if ( (x >= getX() && x <= (getX()+getGjer())) &&  (y > getY() && y < (getY()+getGjat())))
            return true;
        else return false;
    }

    public boolean ekzistonPika(Point p){
        return ekzistonPika(p.getX(), p.getY());
    }

    public Drejtkendesh nderprerje(Drejtkendesh drejtkendeshTjeter){
        int drejtkendeshTjeterX=drejtkendeshTjeter.getX();
        int drejtkendeshTjeterY=drejtkendeshTjeter.getY();

        // drejtkendeshi tjeter e ka piken e fillimit (x,y) brenda ketij drejtkendeshi
        if (this.ekzistonPika(drejtkendeshTjeterX, drejtkendeshTjeterY)){
            int width=this.getX()+this.getGjer()-drejtkendeshTjeterX;
            int height=this.getY()+this.getGjat()-drejtkendeshTjeterY;
            return new Drejtkendesh(drejtkendeshTjeterX,drejtkendeshTjeterY,width,height);
        }
        //ky drejtkendesh e ka piken (x,y) brenda drejtekendeshitTjeter
        if (drejtkendeshTjeter.ekzistonPika(this.getX(), this.getY())){
            int width=drejtkendeshTjeter.getX()+drejtkendeshTjeter.getGjer()-this.getX();
            int height=drejtkendeshTjeter.getY()+drejtkendeshTjeter.getGjat()-this.getY();
            return new Drejtkendesh(this.getX(),this.getY(),width,height);
        }
        return new Drejtkendesh(0,0,0,0);
    }

    @Override
    public String toString(){
        return String.format("X: %d , Y: %d , Gjer: %d , Gjat: %d",getX(), getY(), getGjer(), getGjat());
    }
}
